using System.Collections.Generic;

namespace HumanElement.Xna.Construct
{
    public interface ICameraManager : IEntityManager<ICamera>, IRenderable
    {
        /// <summary>
        /// Gets the cameras.
        /// </summary>
        /// <value>The cameras.</value>
        IEnumerable<ICamera> Cameras { get; }

        /// <summary>
        /// Gets the viewports.
        /// </summary>
        /// <value>The viewports.</value>
        IEnumerable<IViewport> Viewports { get; }

        /// <summary>
        /// Adds the camera.
        /// </summary>
        /// <param name="camera">The camera.</param>
        /// <returns></returns>
        int AddCamera(ICamera camera);

        /// <summary>
        /// Removes the camera.
        /// </summary>
        bool RemoveCamera(ICamera camera);        
    }

   
}